@echo off
chcp 65001
set OUTPUT_DIR=.\output
set EXECUTABLE_NAME=starry-sky.exe
set CONFIG_DIR=..\config
set ZIP_FILE=.\starry-sky.zip

:: 检查 PowerShell 版本
powershell -Command "$PSVersionTable.PSVersion.Major -ge 5"
if errorlevel 1 (
    echo PowerShell 版本不足，请安装 PowerShell 5.0 或更高版本。
    exit /b 1
)

:: 清理旧构建文件

if exist "%OUTPUT_DIR%" (
    rmdir /s /q "%OUTPUT_DIR%"
)

:: 构建可执行文件

echo 正在编译可执行文件...

go build -o %EXECUTABLE_NAME% ../cmd/starryskyadmin/main.go
if errorlevel 1 (
    echo 编译失败，请检查错误！
    exit /b 1
)

:: 创建输出目录

echo 正在创建输出目录...

mkdir "%OUTPUT_DIR%"

:: 复制可执行文件和配置文件

echo 正在复制文件到输出目录...

copy %EXECUTABLE_NAME% "%OUTPUT_DIR%\" >nul
xcopy "%CONFIG_DIR%" "%OUTPUT_DIR%\config\" /E /I /Y >nul

:: 打包为ZIP文件

echo 正在创建压缩包...

powershell -Command "Compress-Archive -Path '%OUTPUT_DIR%\*' -DestinationPath '%ZIP_FILE%' -Force"

:: 清理旧构建文件

if exist "%OUTPUT_DIR%" (
    rmdir /s /q "%OUTPUT_DIR%"
    del /Q %EXECUTABLE_NAME%
)
echo 构建和打包完成！